package com.lyf.boot.modules.system.service;

import com.lyf.boot.core.model.PageInfo;
import com.lyf.boot.modules.system.entity.dto.OssConfigDto;
import com.lyf.boot.modules.system.entity.dto.OssConfigPageDto;
import com.lyf.boot.modules.system.entity.vo.OssConfigVo;

import java.util.List;

/**
 * @author Luyufan
 * @date 2023/8/15 13:55
 */
public interface IOssConfigService {

    /**
     * 初始化配置
     */
    void initOssConfig();

    /**
     * 获取默认配置
     * @return
     */
    String getDefaultPlatform();

    /**
     * 分页查询
     * @author Luyufan
     * @date 2023/8/15 15:30
     * @param dto
     * @return PageInfo<OssConfigVo>
     */
    PageInfo<OssConfigVo> getOssConfigPage(OssConfigPageDto dto);

    /**
     * 查询配置详情
     * @author Luyufan
     * @date 2023/8/15 15:36
     * @param ossId
     * @return OssConfigVo
     */
    OssConfigVo getOssConfigInfo(Long ossId);

    /**
     * 添加配置
     * @author Luyufan
     * @date 2023/8/15 18:22
     * @param dto
     * @return void
     */
    void saveOssConfig(OssConfigDto dto);

    /**
     * 修改配置
     * @author Luyufan
     * @date 2023/8/15 18:22
     * @param dto
     * @return void
     */
    void updateOssConfig(OssConfigDto dto);

    /**
     * 删除配置
     * @author Luyufan
     * @date 2023/8/15 18:23
     * @param ids
     * @return void
     */
    void deleteOssConfig(List<Long> ids);
}
